{
  "guild": {
    "id": "1361349522684510449",
    "name": "wafer.space Community",
    "iconUrl": "2026-03_media/fb143eaa45770cbb40493d09b625e98b-09FD1.png"
  },
  "channel": {
    "id": "1423348662318272592",
    "type": "GuildTextChat",
    "categoryId": "1409664731760955403",
    "category": "\uD83D\uDCD0 - Designing",
    "name": "\uD83D\uDCDD-project-template",
    "topic": "[template-github](https://github.com/wafer-space/gf180mcu-project-template)"
  },
  "dateRange": {
    "after": "2026-02-28T23:59:59.999+00:00",
    "before": "2026-04-01T00:00:00+00:00"
  },
  "exportedAt": "2026-07-09T09:11:27.9527697+00:00",
  "messages": [
    {
      "id": "1482918666042347791",
      "type": "Default",
      "timestamp": "2026-03-16T01:49:21.281+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "heya, i noticed that magic and klayout have different DRC errors, and this is reproducible in the upstream template https://github.com/wafer-space/gf180mcu-project-template/actions/runs/22961298626/job/66652405640\n```\n3503\n* DRC\nFailed \uD800\uDD02\nKLayout DRC errors: 0\nMagic DRC errors: 126743\nCheck the report directories of KLayout.DRC and Magic.DRC.\n```\nis this an issue? do we trust klayout or magic?",
      "author": {
        "id": "258871392840187904",
        "name": ".monkeyonkeyboard.",
        "discriminator": "0000",
        "nickname": "monkey on keyboard",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/51495ed125b2a50870a5c9c27cee3467-8AF4F.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "chore: update to LibreLane dev (#55) · wafer-space/gf180mcu-projec...",
          "url": "https://github.com/wafer-space/gf180mcu-project-template/actions/runs/22961298626/job/66652405640",
          "timestamp": null,
          "description": "Project template for wafer.space MPW runs using the gf180mcu PDK - chore: update to LibreLane dev (#55) · wafer-space/gf180mcu-project-template@1152862",
          "color": "#1E2327",
          "thumbnail": {
            "url": "2026-03_media/gf180mcu-project-template-FDF60",
            "width": 1200,
            "height": 600
          },
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1482946676745437204",
      "type": "Reply",
      "timestamp": "2026-03-16T03:40:39.553+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "In my experience at \"corporate semiconductor\", different tools reporting differently can either be real runset issues, or just differences in how they report errors",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "258871392840187904",
          "name": ".monkeyonkeyboard.",
          "discriminator": "0000",
          "nickname": "monkey on keyboard",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-03_media/51495ed125b2a50870a5c9c27cee3467-8AF4F.png"
        }
      ],
      "reference": {
        "messageId": "1482918666042347791",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1483013256057454798",
      "type": "ThreadCreated",
      "timestamp": "2026-03-16T08:05:13.298+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Started a thread.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-03_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": null,
        "channelId": "1482918666042347791",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1483027724929990736",
      "type": "Default",
      "timestamp": "2026-03-16T09:02:42.946+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I'm seeing a lot of warnings like `Error while reading cell \"METAL1_FILL\" (byte position 144857526): Warning: cell \"Metal1_fill_cell\" placed on top of itself.  Ignoring the extra one.` that I don't see in the github actions #55",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483338263057137816",
      "type": "Default",
      "timestamp": "2026-03-17T05:36:41.005+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "is there no layerprops/layermap in klayout format (usually lyp, I think)?",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483339542906798092",
      "type": "Default",
      "timestamp": "2026-03-17T05:41:46.145+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "ah i got it",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483343882484711496",
      "type": "Default",
      "timestamp": "2026-03-17T05:59:00.781+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "the seal ring is interesting, in that the vias are not drawn to be hermetic... I guess GF is swapping that part of the database after they tape-in",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483360184406511716",
      "type": "Reply",
      "timestamp": "2026-03-17T07:03:47.462+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "If you open the layout through librelane (`make librelane-klayout`), they layer map will already be loaded.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-03_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "376976238528692225",
          "name": "nmz787",
          "discriminator": "0000",
          "nickname": "nmz787",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-03_media/3-FB033.png"
        }
      ],
      "reference": {
        "messageId": "1483338263057137816",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1483360328845623326",
      "type": "Reply",
      "timestamp": "2026-03-17T07:04:21.899+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "No, that's just the structure of the seal ring as specified by the [PDK documentation](https://gf180mcu-pdk.readthedocs.io/en/latest/physical_verification/design_manual/drm_12_2.html).",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-03_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "376976238528692225",
          "name": "nmz787",
          "discriminator": "0000",
          "nickname": "nmz787",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-03_media/3-FB033.png"
        }
      ],
      "reference": {
        "messageId": "1483343882484711496",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1483360476242116688",
      "type": "Default",
      "timestamp": "2026-03-17T07:04:57.041+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I am fairly positive the fab is swapping out the via layers under the sealring ID",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483360503198646272",
      "type": "Default",
      "timestamp": "2026-03-17T07:05:03.468+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "they are not hermetic as-is",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483360546211364997",
      "type": "Default",
      "timestamp": "2026-03-17T07:05:13.723+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "(Intel does this)",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483360771965587456",
      "type": "Default",
      "timestamp": "2026-03-17T07:06:07.547+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "in that case, depending on the node, they do or do not show the customer the real design... due to process churn and violating DRC",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483361035221078207",
      "type": "Default",
      "timestamp": "2026-03-17T07:07:10.312+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "unless they have some other very different way of ensuring hermeticity",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483361515888312382",
      "type": "Default",
      "timestamp": "2026-03-17T07:09:04.912+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "has anyone delayered one of these?",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483361881778556980",
      "type": "Default",
      "timestamp": "2026-03-17T07:10:32.147+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I can guarantee you, they don't - I saw the final mask data.\n\nWhy would they specify the exact placement of vias in the guard ring documentation **and** have custom DRC rules for them when they're going to replace it anyway?",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-03_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483362825266270440",
      "type": "Default",
      "timestamp": "2026-03-17T07:14:17.092+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Intel does the same",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483362914155888702",
      "type": "Default",
      "timestamp": "2026-03-17T07:14:38.285+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "but cross-section and teardown show 100% continuous perimeter rings on every level, metal and via",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483363475240648775",
      "type": "Reply",
      "timestamp": "2026-03-17T07:16:52.058+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "you saw post-OPC database?",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2026-03_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1483361881778556980",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1483363517825552456",
      "type": "Default",
      "timestamp": "2026-03-17T07:17:02.211+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "yes",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-03_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483363563098734744",
      "type": "Default",
      "timestamp": "2026-03-17T07:17:13.005+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "including synthesized layers, etc?",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483363781886087251",
      "type": "Default",
      "timestamp": "2026-03-17T07:18:05.168+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The final mask data for the complete reticle, yes.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-03_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483363963436531844",
      "type": "Default",
      "timestamp": "2026-03-17T07:18:48.453+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "huh, I feel like I'm missing something now",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483365357707329708",
      "type": "Default",
      "timestamp": "2026-03-17T07:24:20.873+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "GPT says there's orders of magnitude less risk of \"moisture-induced Vt drift\" for such a large planar process, hmm",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1483366714489176104",
      "type": "Reply",
      "timestamp": "2026-03-17T07:29:44.355+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I suppose you have a point about PDK rules for vias... Intel doesn't have those, they supply X/Y/corner cells for customer to place",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 4
            }
          ],
          "avatarUrl": "2026-03_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "reference": {
        "messageId": "1483361881778556980",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1483406176820527156",
      "type": "Reply",
      "timestamp": "2026-03-17T10:06:32.908+00:00",
      "timestampEdited": "2026-03-17T10:07:45.116+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Don't know where you get the hermeticity requirement for the vias in the seal ring from ?\nAFAIK main purpose of seal ring is to protect the design from cracks and stress caused by wafer sawing. This can be done with normal sized vias in a ring.",
      "author": {
        "id": "728516105680846892",
        "name": "chips4makers",
        "discriminator": "0000",
        "nickname": "Chips4Makers aka Staf Verhaegen",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/2649a6faac7843086b3d82b1d8f657a3-81998.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "376976238528692225",
          "name": "nmz787",
          "discriminator": "0000",
          "nickname": "nmz787",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-03_media/3-FB033.png"
        }
      ],
      "reference": {
        "messageId": "1483361035221078207",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1483488920061612184",
      "type": "Reply",
      "timestamp": "2026-03-17T15:35:20.434+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I am on team that owns seal ring collateral design. Crack arrest is only once function for us",
      "author": {
        "id": "376976238528692225",
        "name": "nmz787",
        "discriminator": "0000",
        "nickname": "nmz787",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/3-FB033.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "728516105680846892",
          "name": "chips4makers",
          "discriminator": "0000",
          "nickname": "Chips4Makers aka Staf Verhaegen",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-03_media/2649a6faac7843086b3d82b1d8f657a3-81998.png"
        }
      ],
      "reference": {
        "messageId": "1483406176820527156",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1483659304191000737",
      "type": "Default",
      "timestamp": "2026-03-18T02:52:23.176+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@nmz787 - This process is from the late 1990's / early 2000's -- I'm pretty things have changed a lot since then.",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "376976238528692225",
          "name": "nmz787",
          "discriminator": "0000",
          "nickname": "nmz787",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-03_media/3-FB033.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1486728700518203616",
      "type": "Default",
      "timestamp": "2026-03-26T14:09:04.287+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": true,
      "content": "\uD83D\uDCE2 Project Template Update!\n\nVersion 1.4.0 has been tagged, which includes an upgrade to LibreLane 3.0 \uD83C\uDF89\nRead the blog post to find out more about LibreLane 3.0: https://www.librelane.org/blog/2026-03-25-website_release_3-0\n\n- Project Template [1.4.0](https://github.com/wafer-space/gf180mcu-project-template/releases/tag/1.4.0)",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-03_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "❤️",
            "code": "heart",
            "isAnimated": false,
            "imageUrl": "2026-03_media/2764-A3D25.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2026-03_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83E\uDD73",
            "code": "partying_face",
            "isAnimated": false,
            "imageUrl": "2026-03_media/1f973-88B39.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "polyfractal",
              "color": null,
              "isBot": false,
              "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "1426598702289780918",
            "name": "waferspace",
            "code": "waferspace",
            "isAnimated": false,
            "imageUrl": "2026-03_media/1426598702289780918-5942F.png"
          },
          "count": 1,
          "users": [
            {
              "id": "840182560252624916",
              "name": "logic_destroyer",
              "discriminator": "0000",
              "nickname": "asic destroyer",
              "color": null,
              "isBot": false,
              "avatarUrl": "2026-03_media/6f21ec45bc9221220509b769f634344b-E96BD.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDCE2",
          "code": "loudspeaker",
          "isAnimated": false,
          "imageUrl": "2026-03_media/1f4e2-C9D9D.svg"
        },
        {
          "id": "",
          "name": "\uD83C\uDF89",
          "code": "tada",
          "isAnimated": false,
          "imageUrl": "2026-03_media/1f389-5C738.svg"
        }
      ]
    },
    {
      "id": "1486728757812396204",
      "type": "ChannelPinnedMessage",
      "timestamp": "2026-03-26T14:09:17.947+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Pinned a message.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 4
          }
        ],
        "avatarUrl": "2026-03_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "reference": {
        "messageId": "1486728700518203616",
        "channelId": "1423348662318272592",
        "guildId": null
      },
      "inlineEmojis": []
    },
    {
      "id": "1487913391929430036",
      "type": "Default",
      "timestamp": "2026-03-29T20:36:36.73+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "kinda related, started to work on a dashboard to make my life easier in the next time I tape something out. right now it's mostly just spewing out the saved metrics, but I'd like it to be my centralized \"build manager\". Kick off new builds, \"fork\" existing builds with new settings, investigate performance and metrics, help manage ECO steps, comparisons, etc",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [
        {
          "id": "1487913389605785783",
          "url": "2026-03_media/image-4692F.png",
          "fileName": "image.png",
          "fileSizeBytes": 136291
        },
        {
          "id": "1487913390138593523",
          "url": "2026-03_media/Screenshot_2026-03-29_132711-3BF80.png",
          "fileName": "Screenshot_2026-03-29_132711.png",
          "fileSizeBytes": 164970
        },
        {
          "id": "1487913390759481466",
          "url": "2026-03_media/Screenshot_2026-03-29_132722-3FCDC.png",
          "fileName": "Screenshot_2026-03-29_132722.png",
          "fileSizeBytes": 82614
        },
        {
          "id": "1487913391426244608",
          "url": "2026-03_media/Screenshot_2026-03-29_132741-663C1.png",
          "fileName": "Screenshot_2026-03-29_132741.png",
          "fileSizeBytes": 113636
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE0E",
            "code": "sunglasses",
            "isAnimated": false,
            "imageUrl": "2026-03_media/1f60e-FF6EB.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2026-03_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        },
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDC4D",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2026-03_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "274535015969456128",
              "name": "greg.hashtag.9468",
              "discriminator": "0000",
              "nickname": "Greg",
              "color": null,
              "isBot": false,
              "avatarUrl": "2026-03_media/fb1d1a9872c8ef9ce08855c75f2963a7-A225D.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1487938216299331794",
      "type": "Default",
      "timestamp": "2026-03-29T22:15:15.321+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "as an aside, it's kinda tragic how OpenRoad is _close_ to being a nice set of modular tools... but then they baked it all into one binary and duct tape it all together with tcl and odb monstrosity \uD83D\uDE41",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE41",
          "code": "slight_frown",
          "isAnimated": false,
          "imageUrl": "2026-03_media/1f641-E1429.svg"
        }
      ]
    },
    {
      "id": "1487940984460410980",
      "type": "Reply",
      "timestamp": "2026-03-29T22:26:15.302+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The problem they had was spending so much time serialising and deserialising information between commands.",
      "author": {
        "id": "1187141985530818611",
        "name": "ravenslofty",
        "discriminator": "0000",
        "nickname": "Lofty",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/dd665ae27be32531af89aeb08fd05e04-1D5A4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "384390069412429834",
          "name": "polyfractal",
          "discriminator": "0000",
          "nickname": "BreakingTaps",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
        }
      ],
      "reference": {
        "messageId": "1487938216299331794",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1487941544123039866",
      "type": "Default",
      "timestamp": "2026-03-29T22:28:28.736+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Because it *was* a \"nice set of modular tools\" and it was completely unusable.",
      "author": {
        "id": "1187141985530818611",
        "name": "ravenslofty",
        "discriminator": "0000",
        "nickname": "Lofty",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/dd665ae27be32531af89aeb08fd05e04-1D5A4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1487942227182227526",
      "type": "Default",
      "timestamp": "2026-03-29T22:31:11.59+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "aha, interesting! i should do some more reading on the history/context so i'm less judgmental \uD83D\uDE42",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2026-03_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1487942238515232839",
      "type": "Default",
      "timestamp": "2026-03-29T22:31:14.292+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "You can battle serdes cost with mmap'ing zero-copy serialization though",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1487942444392906975",
      "type": "Default",
      "timestamp": "2026-03-29T22:32:03.377+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "(which isn't far from what odb is doing anyway from my understanding)",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1487942821859164294",
      "type": "Reply",
      "timestamp": "2026-03-29T22:33:33.372+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "For the sake of a thought experiment, how would you imagine openroad should be split up?",
      "author": {
        "id": "1187141985530818611",
        "name": "ravenslofty",
        "discriminator": "0000",
        "nickname": "Lofty",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/dd665ae27be32531af89aeb08fd05e04-1D5A4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "384390069412429834",
          "name": "polyfractal",
          "discriminator": "0000",
          "nickname": "BreakingTaps",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
        }
      ],
      "reference": {
        "messageId": "1487942227182227526",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1487943617543934023",
      "type": "Default",
      "timestamp": "2026-03-29T22:36:43.078+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "well in a nice world where everything behaves, all the modules (rsz, gpl, ifp, tap, etc) would be individual tools that LibreLane can bolt together at will. and if you wanted to say develop a new rsz you just drop in your own version that speaks to the shared odb backend.\n\nBut right now if you wanted to do that you have to rebuild the whole thing. and the whole orchestration between librelane and openroad seems very fraught. python -> env variables -> tcl -> openroad binary and back\n\nThat said, I recognize it's not a nice world and most things don't behave as we'd like \uD83D\uDE42 so just grumping",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2026-03_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1487944792355635290",
      "type": "Reply",
      "timestamp": "2026-03-29T22:41:23.175+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Well, I would argue the most core part of openroad is actually sta, because everything needs to reference sta for timing calculations.\n\nBut there are a lot of rather intricate connections between the two; if you've ever looked at things like LL's `Odb.InsertECOBuffers`, it relies on being able to modify a pre-placed/routed netlist, insert netlist modifications, and then incrementally re-place and route only the new buffers, rather than ripping up the whole run and starting from scratch.",
      "author": {
        "id": "1187141985530818611",
        "name": "ravenslofty",
        "discriminator": "0000",
        "nickname": "Lofty",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/dd665ae27be32531af89aeb08fd05e04-1D5A4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "384390069412429834",
          "name": "polyfractal",
          "discriminator": "0000",
          "nickname": "BreakingTaps",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
        }
      ],
      "reference": {
        "messageId": "1487943617543934023",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1487946188928847972",
      "type": "Reply",
      "timestamp": "2026-03-29T22:46:56.144+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I haven't to be fair, will take a look! Good points about how intertwined things can be, and not so easy to \"just\" modularize everything",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "1187141985530818611",
          "name": "ravenslofty",
          "discriminator": "0000",
          "nickname": "Lofty",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-03_media/dd665ae27be32531af89aeb08fd05e04-1D5A4.png"
        }
      ],
      "reference": {
        "messageId": "1487944792355635290",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1487947185705193665",
      "type": "Reply",
      "timestamp": "2026-03-29T22:50:53.794+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I did ask donn about this; there's a native python API for OR, but it's something of a second-class citizen to the main Tcl API, so it has missing things.",
      "author": {
        "id": "1187141985530818611",
        "name": "ravenslofty",
        "discriminator": "0000",
        "nickname": "Lofty",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/dd665ae27be32531af89aeb08fd05e04-1D5A4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\uD83D\uDE15",
            "code": "confused",
            "isAnimated": false,
            "imageUrl": "2026-03_media/1f615-4892B.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "384390069412429834",
              "name": "polyfractal",
              "discriminator": "0000",
              "nickname": "BreakingTaps",
              "color": null,
              "isBot": false,
              "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "384390069412429834",
          "name": "polyfractal",
          "discriminator": "0000",
          "nickname": "BreakingTaps",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
        }
      ],
      "reference": {
        "messageId": "1487943617543934023",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1487952653999669339",
      "type": "Reply",
      "timestamp": "2026-03-29T23:12:37.537+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "My understanding is that multiple groups have been pushing for the Python API to be the first class citizen and the TCL API to be an afterthought - but I don't know the current state of that.",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "1187141985530818611",
          "name": "ravenslofty",
          "discriminator": "0000",
          "nickname": "Lofty",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-03_media/dd665ae27be32531af89aeb08fd05e04-1D5A4.png"
        }
      ],
      "reference": {
        "messageId": "1487947185705193665",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1487953031357006006",
      "type": "Reply",
      "timestamp": "2026-03-29T23:14:07.506+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The great thing about open source is that you can help fix them unlike with the proprietary tooling where groups like Google who are paying hundreds of millions can barely get anything fixed.",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "384390069412429834",
          "name": "polyfractal",
          "discriminator": "0000",
          "nickname": "BreakingTaps",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
        }
      ],
      "reference": {
        "messageId": "1487943617543934023",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1487954996627640430",
      "type": "Default",
      "timestamp": "2026-03-29T23:21:56.063+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "hehe part of my grumping is because I've been trying a few experiments, and in the process slowly working \"down\" the stack discovering how things work and how tightly coupled everything is \uD83D\uDE42",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2026-03_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1487973794529411175",
      "type": "Default",
      "timestamp": "2026-03-30T00:36:37.832+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "huh interestig bit in OpenSTA. What's the story around Parallax SW? Their website is quite bare (http://www.parallaxsw.com/)\n\n> However, OpenSTA is not supported by a public community of developers as many other open source projects are. The copyright and development are exclusive to Parallax Software.",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "Welcome to Parallax Software: Static Timing Analsyis (STA) for EDA ...",
          "url": "http://www.parallaxsw.com/",
          "timestamp": null,
          "description": "Parallax Software provdies static timing analysis software for EDA software.",
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1488072429531037726",
      "type": "Default",
      "timestamp": "2026-03-30T07:08:34.249+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Both TCL and python are swig generated bindings, it's not that hard to add things if something you need is missing, I had to go through it a couple of times. ( Although both times it was missing in both TCL and python, I think in general when adding things they try to add bindings for both at once to keep them in sync ).",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1488073083444269116",
      "type": "Default",
      "timestamp": "2026-03-30T07:11:10.154+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "And yeah, in MPW1 times, OpenRoad was different tools ... and it was a nightmare \uD83D\uDE05    I much prefer the current version.   AFAIU They need to pass quite a bit of info between tools to get good QoR, a lot of which doesn't \"map\" to standard format, so you ended up with needing the exact right combination of tools so they could talk properly to each other.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2026-03_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1488362100102533202",
      "type": "Reply",
      "timestamp": "2026-03-31T02:19:37.095+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "OpenSTA is used in a number of proprietary solutions. The full test suite for the tool is sadly closed source as well.",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "384390069412429834",
          "name": "polyfractal",
          "discriminator": "0000",
          "nickname": "BreakingTaps",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
        }
      ],
      "reference": {
        "messageId": "1487973794529411175",
        "channelId": "1423348662318272592",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1488598282493231246",
      "type": "Default",
      "timestamp": "2026-03-31T17:58:07.365+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "rude \uD83D\uDE10",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\uD83D\uDE10",
          "code": "neutral_face",
          "isAnimated": false,
          "imageUrl": "2026-03_media/1f610-B3309.svg"
        }
      ]
    },
    {
      "id": "1488598362100994071",
      "type": "Default",
      "timestamp": "2026-03-31T17:58:26.345+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "never heard of a closed test suite before. I guess maybe they have snippets / test cases from customers under NDA In there?",
      "author": {
        "id": "384390069412429834",
        "name": "polyfractal",
        "discriminator": "0000",
        "nickname": "BreakingTaps",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2026-03_media/8d8c1d8b8ad51d6cdb1a47512c39b297-42908.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    }
  ],
  "messageCount": 51
}